package com.probiz.estore.common.model.system.base;

import java.io.Serializable;
import com.probiz.estore.core.model.BaseObject;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;

/**
 * VerFunc Base Java Bean, base class for the model, mapped directly to database table
 * 
 * Avoid changing this file if not necessary, will be overwritten. 
 *
 */
public class VerFuncTbl extends BaseObject implements Serializable {

    protected Integer verFuncId;
    /**
     * 功能关键词 (MD5加密)
     * 形如：multiSku(MD5加密值)
     * 该功能关键词如果在数据库不存在，则该功能不可用
     */
	protected String funcKey;
	/**
	 * 功能值 (MD5加密)
	 * 形如：multiSku_off (MD5加密值) 或  multiSku_on (MD5加密值)
	 * off标识该功能关闭,on标识该功能打开
	 * 该功能值如果在数据库不存在或者值有误，则该功能不可用
	 */
	protected String funcValue;


	/**
	 * Default Empty Constructor for class VerFunc
	 */
	public VerFuncTbl () {
		super();
	}
	
	/**
	 * Default Key Fields Constructor for class VerFunc
	 */
	public VerFuncTbl (
		 Integer in_verFuncId
        ) {
		this.setVerFuncId(in_verFuncId);
    }

    

	/**
	 * 主键	 * @return Integer
     * @hibernate.id column="verFuncId" type="java.lang.Integer" generator-class="native"
	 */
	public Integer getVerFuncId() {
		return this.verFuncId;
	}
	
	/**
	 * Set the verFuncId
	 */	
	public void setVerFuncId(Integer aValue) {
		this.verFuncId = aValue;
	}	

	/**
	 * 功能关键词  (加密)	 * @return String
	 * @hibernate.property column="funcKey" type="java.lang.String" length="512" not-null="true" unique="false"
	 */
	public String getFuncKey() {
		return this.funcKey;
	}
	
	/**
	 * Set the funcKey
	 * @spring.validator type="required"
	 */	
	public void setFuncKey(String aValue) {
		this.funcKey = aValue;
	}	

	/**
	 * 功能值 (加密)	 * @return String
	 * @hibernate.property column="funcValue" type="java.lang.String" length="512" not-null="true" unique="false"
	 */
	public String getFuncValue() {
		return this.funcValue;
	}
	
	/**
	 * Set the funcValue
	 * @spring.validator type="required"
	 */	
	public void setFuncValue(String aValue) {
		this.funcValue = aValue;
	}	

	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof VerFuncTbl)) {
			return false;
		}
		VerFuncTbl rhs = (VerFuncTbl) object;
		return new EqualsBuilder()
				.append(this.verFuncId, rhs.verFuncId)
				.append(this.funcKey, rhs.funcKey)
				.append(this.funcValue, rhs.funcValue)
				.isEquals();
	}

	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new HashCodeBuilder(-82280557, -700257973)
				.append(this.verFuncId) 
				.append(this.funcKey) 
				.append(this.funcValue) 
				.toHashCode();
	}

	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this)
				.append("verFuncId", this.verFuncId) 
				.append("funcKey", this.funcKey) 
				.append("funcValue", this.funcValue) 
				.toString();
	}

	/**
	 * Return the name of the first key column
	 */
	public String getFirstKeyColumnName() {
		return "verFuncId";
	}
	/**
	 * Return the Id (pk) of the entity, must be Integer
	 */
	public Integer getId() {
		return verFuncId;
	}

}